home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / cgbbrd.z / cgbbrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          CCCCGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CGBBRD - reduce a complex general m-by-n band matrix A to real upper
  10.      bidiagonal form B by a unitary transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, LDQ, PT,
  14.                         LDPT, C, LDC, WORK, RWORK, INFO )
  15.  
  16.          CHARACTER      VECT
  17.  
  18.          INTEGER        INFO, KL, KU, LDAB, LDC, LDPT, LDQ, M, N, NCC
  19.  
  20.          REAL           D( * ), E( * ), RWORK( * )
  21.  
  22.          COMPLEX        AB( LDAB, * ), C( LDC, * ), PT( LDPT, * ), Q( LDQ, *
  23.                         ), WORK( * )
  24.  
  25. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  26.      CGBBRD reduces a complex general m-by-n band matrix A to real upper
  27.      bidiagonal form B by a unitary transformation: Q' * A * P = B.
  28.  
  29.      The routine computes B, and optionally forms Q or P', or computes Q'*C
  30.      for a given matrix C.
  31.  
  32.  
  33. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  34.      VECT    (input) CHARACTER*1
  35.              Specifies whether or not the matrices Q and P' are to be formed.
  36.              = 'N': do not form Q or P';
  37.              = 'Q': form Q only;
  38.              = 'P': form P' only;
  39.              = 'B': form both.
  40.  
  41.      M       (input) INTEGER
  42.              The number of rows of the matrix A.  M >= 0.
  43.  
  44.      N       (input) INTEGER
  45.              The number of columns of the matrix A.  N >= 0.
  46.  
  47.      NCC     (input) INTEGER
  48.              The number of columns of the matrix C.  NCC >= 0.
  49.  
  50.      KL      (input) INTEGER
  51.              The number of subdiagonals of the matrix A. KL >= 0.
  52.  
  53.      KU      (input) INTEGER
  54.              The number of superdiagonals of the matrix A. KU >= 0.
  55.  
  56.      AB      (input/output) COMPLEX array, dimension (LDAB,N)
  57.              On entry, the m-by-n band matrix A, stored in rows 1 to KL+KU+1.
  58.              The j-th column of A is stored in the j-th column of the array AB
  59.              as follows:  AB(ku+1+i-j,j) = A(i,j) for max(1,j-
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))                                                          CCCCGGGGBBBBBBBBRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              ku)<=i<=min(m,j+kl).  On exit, A is overwritten by values
  75.              generated during the reduction.
  76.  
  77.      LDAB    (input) INTEGER
  78.              The leading dimension of the array A. LDAB >= KL+KU+1.
  79.  
  80.      D       (output) REAL array, dimension (min(M,N))
  81.              The diagonal elements of the bidiagonal matrix B.
  82.  
  83.      E       (output) REAL array, dimension (min(M,N)-1)
  84.              The superdiagonal elements of the bidiagonal matrix B.
  85.  
  86.      Q       (output) COMPLEX array, dimension (LDQ,M)
  87.              If VECT = 'Q' or 'B', the m-by-m unitary matrix Q.  If VECT = 'N'
  88.              or 'P', the array Q is not referenced.
  89.  
  90.      LDQ     (input) INTEGER
  91.              The leading dimension of the array Q.  LDQ >= max(1,M) if VECT =
  92.              'Q' or 'B'; LDQ >= 1 otherwise.
  93.  
  94.      PT      (output) COMPLEX array, dimension (LDPT,N)
  95.              If VECT = 'P' or 'B', the n-by-n unitary matrix P'.  If VECT =
  96.              'N' or 'Q', the array PT is not referenced.
  97.  
  98.      LDPT    (input) INTEGER
  99.              The leading dimension of the array PT.  LDPT >= max(1,N) if VECT
  100.              = 'P' or 'B'; LDPT >= 1 otherwise.
  101.  
  102.      C       (input/output) COMPLEX array, dimension (LDC,NCC)
  103.              On entry, an m-by-ncc matrix C.  On exit, C is overwritten by
  104.              Q'*C.  C is not referenced if NCC = 0.
  105.  
  106.      LDC     (input) INTEGER
  107.              The leading dimension of the array C.  LDC >= max(1,M) if NCC >
  108.              0; LDC >= 1 if NCC = 0.
  109.  
  110.      WORK    (workspace) COMPLEX array, dimension (max(M,N))
  111.  
  112.      RWORK   (workspace) REAL array, dimension (max(M,N))
  113.  
  114.      INFO    (output) INTEGER
  115.              = 0:  successful exit.
  116.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.